↳ PROLOG
↳ PrologToPiTRSProof
With regard to the inferred argument filtering the predicates were used in the following modes:
at2: (f,f) (f,b)
Transforming PROLOG into the following Term Rewriting System:
Pi-finite rewrite system:
The TRS R consists of the following rules:
at_2_in_aa2(X, fido_0) -> if_at_2_in_1_aa2(X, at_2_in_ag2(X, mary_0))
at_2_in_ag2(X, fido_0) -> if_at_2_in_1_ag2(X, at_2_in_ag2(X, mary_0))
at_2_in_ag2(ta_0, mary_0) -> at_2_out_ag2(ta_0, mary_0)
at_2_in_ag2(jm_0, mary_0) -> at_2_out_ag2(jm_0, mary_0)
if_at_2_in_1_ag2(X, at_2_out_ag2(X, mary_0)) -> if_at_2_in_2_ag2(X, near_1_in_g1(X))
near_1_in_g1(jm_0) -> near_1_out_g1(jm_0)
if_at_2_in_2_ag2(X, near_1_out_g1(X)) -> at_2_out_ag2(X, fido_0)
if_at_2_in_1_aa2(X, at_2_out_ag2(X, mary_0)) -> if_at_2_in_2_aa2(X, near_1_in_g1(X))
if_at_2_in_2_aa2(X, near_1_out_g1(X)) -> at_2_out_aa2(X, fido_0)
at_2_in_aa2(ta_0, mary_0) -> at_2_out_aa2(ta_0, mary_0)
at_2_in_aa2(jm_0, mary_0) -> at_2_out_aa2(jm_0, mary_0)
Infinitary Constructor Rewriting Termination of PiTRS implies Termination of PROLOG
↳ PROLOG
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
at_2_in_aa2(X, fido_0) -> if_at_2_in_1_aa2(X, at_2_in_ag2(X, mary_0))
at_2_in_ag2(X, fido_0) -> if_at_2_in_1_ag2(X, at_2_in_ag2(X, mary_0))
at_2_in_ag2(ta_0, mary_0) -> at_2_out_ag2(ta_0, mary_0)
at_2_in_ag2(jm_0, mary_0) -> at_2_out_ag2(jm_0, mary_0)
if_at_2_in_1_ag2(X, at_2_out_ag2(X, mary_0)) -> if_at_2_in_2_ag2(X, near_1_in_g1(X))
near_1_in_g1(jm_0) -> near_1_out_g1(jm_0)
if_at_2_in_2_ag2(X, near_1_out_g1(X)) -> at_2_out_ag2(X, fido_0)
if_at_2_in_1_aa2(X, at_2_out_ag2(X, mary_0)) -> if_at_2_in_2_aa2(X, near_1_in_g1(X))
if_at_2_in_2_aa2(X, near_1_out_g1(X)) -> at_2_out_aa2(X, fido_0)
at_2_in_aa2(ta_0, mary_0) -> at_2_out_aa2(ta_0, mary_0)
at_2_in_aa2(jm_0, mary_0) -> at_2_out_aa2(jm_0, mary_0)
AT_2_IN_AA2(X, fido_0) -> IF_AT_2_IN_1_AA2(X, at_2_in_ag2(X, mary_0))
AT_2_IN_AA2(X, fido_0) -> AT_2_IN_AG2(X, mary_0)
AT_2_IN_AG2(X, fido_0) -> IF_AT_2_IN_1_AG2(X, at_2_in_ag2(X, mary_0))
AT_2_IN_AG2(X, fido_0) -> AT_2_IN_AG2(X, mary_0)
IF_AT_2_IN_1_AG2(X, at_2_out_ag2(X, mary_0)) -> IF_AT_2_IN_2_AG2(X, near_1_in_g1(X))
IF_AT_2_IN_1_AG2(X, at_2_out_ag2(X, mary_0)) -> NEAR_1_IN_G1(X)
IF_AT_2_IN_1_AA2(X, at_2_out_ag2(X, mary_0)) -> IF_AT_2_IN_2_AA2(X, near_1_in_g1(X))
IF_AT_2_IN_1_AA2(X, at_2_out_ag2(X, mary_0)) -> NEAR_1_IN_G1(X)
at_2_in_aa2(X, fido_0) -> if_at_2_in_1_aa2(X, at_2_in_ag2(X, mary_0))
at_2_in_ag2(X, fido_0) -> if_at_2_in_1_ag2(X, at_2_in_ag2(X, mary_0))
at_2_in_ag2(ta_0, mary_0) -> at_2_out_ag2(ta_0, mary_0)
at_2_in_ag2(jm_0, mary_0) -> at_2_out_ag2(jm_0, mary_0)
if_at_2_in_1_ag2(X, at_2_out_ag2(X, mary_0)) -> if_at_2_in_2_ag2(X, near_1_in_g1(X))
near_1_in_g1(jm_0) -> near_1_out_g1(jm_0)
if_at_2_in_2_ag2(X, near_1_out_g1(X)) -> at_2_out_ag2(X, fido_0)
if_at_2_in_1_aa2(X, at_2_out_ag2(X, mary_0)) -> if_at_2_in_2_aa2(X, near_1_in_g1(X))
if_at_2_in_2_aa2(X, near_1_out_g1(X)) -> at_2_out_aa2(X, fido_0)
at_2_in_aa2(ta_0, mary_0) -> at_2_out_aa2(ta_0, mary_0)
at_2_in_aa2(jm_0, mary_0) -> at_2_out_aa2(jm_0, mary_0)
↳ PROLOG
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
AT_2_IN_AA2(X, fido_0) -> IF_AT_2_IN_1_AA2(X, at_2_in_ag2(X, mary_0))
AT_2_IN_AA2(X, fido_0) -> AT_2_IN_AG2(X, mary_0)
AT_2_IN_AG2(X, fido_0) -> IF_AT_2_IN_1_AG2(X, at_2_in_ag2(X, mary_0))
AT_2_IN_AG2(X, fido_0) -> AT_2_IN_AG2(X, mary_0)
IF_AT_2_IN_1_AG2(X, at_2_out_ag2(X, mary_0)) -> IF_AT_2_IN_2_AG2(X, near_1_in_g1(X))
IF_AT_2_IN_1_AG2(X, at_2_out_ag2(X, mary_0)) -> NEAR_1_IN_G1(X)
IF_AT_2_IN_1_AA2(X, at_2_out_ag2(X, mary_0)) -> IF_AT_2_IN_2_AA2(X, near_1_in_g1(X))
IF_AT_2_IN_1_AA2(X, at_2_out_ag2(X, mary_0)) -> NEAR_1_IN_G1(X)
at_2_in_aa2(X, fido_0) -> if_at_2_in_1_aa2(X, at_2_in_ag2(X, mary_0))
at_2_in_ag2(X, fido_0) -> if_at_2_in_1_ag2(X, at_2_in_ag2(X, mary_0))
at_2_in_ag2(ta_0, mary_0) -> at_2_out_ag2(ta_0, mary_0)
at_2_in_ag2(jm_0, mary_0) -> at_2_out_ag2(jm_0, mary_0)
if_at_2_in_1_ag2(X, at_2_out_ag2(X, mary_0)) -> if_at_2_in_2_ag2(X, near_1_in_g1(X))
near_1_in_g1(jm_0) -> near_1_out_g1(jm_0)
if_at_2_in_2_ag2(X, near_1_out_g1(X)) -> at_2_out_ag2(X, fido_0)
if_at_2_in_1_aa2(X, at_2_out_ag2(X, mary_0)) -> if_at_2_in_2_aa2(X, near_1_in_g1(X))
if_at_2_in_2_aa2(X, near_1_out_g1(X)) -> at_2_out_aa2(X, fido_0)
at_2_in_aa2(ta_0, mary_0) -> at_2_out_aa2(ta_0, mary_0)
at_2_in_aa2(jm_0, mary_0) -> at_2_out_aa2(jm_0, mary_0)